package com.devilvan.betrice.qzone.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.devilvan.betrice.common.BasePo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @author Evad.Wu
 * @Description QQ空间 用户相册 映射
 * @date 2022-09-11
 */
@Setter
@Getter
@NoArgsConstructor
@Accessors(chain = true)
@TableName(value = "QZONE_ALBUM_HEADER")

@Entity
@Table(name = "QZONE_ALBUM_HEADER")
@DynamicInsert
@DynamicUpdate
@Schema(description = "QQ空间 用户相册 映射")
public class QzoneAlbumHeaderPo extends BasePo implements Serializable {
    @Serial
    private static final long serialVersionUID = -6402638663211828004L;
    @Schema(description = "图片ID")
    @TableField(value = "ALBUM_ID")
    @Column(name = "ALBUM_ID", columnDefinition = "VARCHAR(64) NOT NULL COMMENT '图片ID'")
    private String albumId;
    @Schema(description = "分组ID")
    @TableField(value = "BATCH_ID")
    @Column(name = "BATCH_ID", columnDefinition = "BIGINT(20) COMMENT '分组ID'")
    private String batchId;
    @Schema(description = "QQ号")
    @TableField(value = "OWNER_UIN")
    @Column(name = "OWNER_UIN", columnDefinition = "VARCHAR(16) NOT NULL COMMENT 'QQ号'")
    private String ownerUin;
    @Schema(description = "所属用户")
    @TableField(value = "OWNER_NAME")
    @Column(name = "OWNER_NAME", columnDefinition = "VARCHAR(64) NOT NULL COMMENT '所属用户'")
    private String ownerName;
    @Schema(description = "图片名称")
    @TableField(value = "PIC_NAME")
    @Column(name = "PIC_NAME", columnDefinition = "VARCHAR(128) NOT NULL COMMENT '图片名称'")
    private String picName;
    @Schema(description = "图片类型")
    @TableField(value = "PHOTO_TYPE")
    @Column(name = "PHOTO_TYPE", columnDefinition = "VARCHAR(4) COMMENT '图片类型'")
    private String photoType;
    @Schema(description = "相册ID")
    @TableField(value = "TOPIC_ID")
    @Column(name = "TOPIC_ID", columnDefinition = "VARCHAR(64) COMMENT '相册ID'")
    private String topicId;
    @Schema(description = "相册名称")
    @TableField(value = "TOPIC_NAME")
    @Column(name = "TOPIC_NAME", columnDefinition = "VARCHAR(128) NOT NULL COMMENT '相册名称'")
    private String topicName;
    @Schema(description = "上传时间")
    @TableField(value = "UPLOAD_TIME")
    @Column(name = "UPLOAD_TIME", columnDefinition = "DATETIME NOT NULL COMMENT '上传时间'")
    private Date uploadTime;
    @Schema(description = "图片路径")
    @TableField(value = "URL")
    @Column(name = "URL", columnDefinition = "TEXT NOT NULL COMMENT '图片路径'")
    private String url;
    @Schema(description = "图片宽度")
    @TableField(value = "WIDTH")
    @Column(name = "WIDTH", columnDefinition = "DECIMAL(12,2) NOT NULL COMMENT '图片宽度'")
    private Long width;
    @Schema(description = "图片高度")
    @TableField(value = "HEIGHT")
    @Column(name = "HEIGHT", columnDefinition = "DECIMAL(12,2) NOT NULL COMMENT '图片高度'")
    private Long height;
    @Schema(description = "图片大小")
    @TableField(value = "PHOTO_CUBAGE")
    @Column(name = "PHOTO_CUBAGE", columnDefinition = "DECIMAL(12,2) NOT NULL COMMENT '图片大小'")
    private Long photoCubage;
}
